package com.watercube.note.biz.user.util;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

/**
 * @Project: water-cube-note-user
 * @Description 因为采取basedao的方式，导致sqlmapper出现 napmespace的问题 需要手动修改，
 * @author yangyh
 * @date 2017年12月16日
 * @version V1.0
 */
public class GeneratorUtility {

	public static void main(String[] args) throws Exception {
		// MBG 执行过程中的警告信息
		List<String> warnings = new ArrayList<String>();
		// 当生成的代码重复时，覆盖原代码
		boolean overwrite = true;
		// 读取我们的 MBG 配置文件
		InputStream is = GeneratorUtility.class.getResourceAsStream("/generator/generatorConfig.xml");
		ConfigurationParser cp = new ConfigurationParser(warnings);
		Configuration config = cp.parseConfiguration(is);
		is.close();

		DefaultShellCallback callback = new DefaultShellCallback(overwrite);
		// 创建 MBG
		MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
		// 执行生成代码
		myBatisGenerator.generate(null);
		// 输出警告信息
		for (String warning : warnings) {
			System.out.println(warning);
		}
	}
}
